import UIKit

// 常量
class Const {
    // 格
    public static var GRID_SIZE = 0                             // 尺寸（需要根据屏幕尺寸计算出来）
    
    // 方块
    public static let BLOCK_GRID_COUNT_H = 4                    // 一个方块由
    public static let BLOCK_GRID_COUNT_V = 4                    // 4*4 的格组成

    // 游戏区域
    public static let GAME_BOARD_GRID_COUNT_H = 10              // 横向格数
    public static let GAME_BOARD_GRID_COUNT_V = 20              // 纵向格数
    public static let GAME_BOARD_COLOR = UIColor.white.cgColor  // 背景色
    
    // 预览区域
    public static let PREVIEW_GRID_COUNT_H = 5                  // 横向格数
    public static let PREVIEW_GRID_COUNT_V = 5                  // 纵向格数
    public static let PREVIEW_COLOR = UIColor.white.cgColor     // 背景色
    
    // 定时器
    public static let TIMER_INIT = 1.0                          // 初始间隔值，单位秒
    public static let TIMER_GROW = 0.1                          // 增长间隔值，单位秒，难度每增加1级，间隔值减少此数
    public static let TIMER_SPEEDUP = 0.05                      // 加速间隔值，单位秒
    
    // 难度
    public static let DIFF_BASE = 5000                          // 基数。分数每达到此数的整数倍时，难度增加
    public static let DIFF_MAX = 10                             // 最大值
    
    // 胜利数
    public static let WIN_NUMBER = DIFF_BASE * DIFF_MAX         // 达到此数胜利
    
    // 音乐
    public static let MUSIC_FILE_NAME = "music"                 // 文件名
    public static let MUSIC_EXTEND = "wav"                      // 扩展名
    
    // 控件 tag
    public static let TAG_BUTTON_START = 1                      // "开始"按钮
    public static let TAG_BUTTON_LEFT = 2                       // "左移"按钮
    public static let TAG_BUTTON_RIGHT = 3                      // "右移"按钮
    public static let TAG_BUTTON_TRANSFORM = 4                  // "变形"按钮
    public static let TAG_BUTTON_DOWN = 5                       // "加速下落"按钮
    public static let TAG_LABEL_DIFFICULTY = 6                  // "难度"标签
    public static let TAG_LABEL_SCORE = 7                       // "得分"标签
    
    // 控件间距
    public static let PADDING_LEFT = 1                          // 界面左边空余空间，单位格
    public static let PADDING_MIDDLE = 1                        // 中间空余空间，单位格
    public static let PADDING_RIGHT = 1                         // 界面右边空余空间，单位格
    
    // 比例
    public static let SCALE_PADDING = 0.25                      // 控件间距与格的尺寸之比
    public static let SCALE_BUTTON_HEIGHT = 1.6                 // 按钮高度与格的尺寸之比
    public static let SCALE_LABEL_TEXT_SIZE = 0.75              // 标签文字尺寸与格的尺寸之比

    // 主视图
    public static let IMAGE_FILE_NAME = "main_view.png"         // 背景图片文件名

    // 按钮
    public static let BUTTON_PAUSE_IMAGE_FILE_NAME =
        "button_pause.png"                                      // "暂停"按钮的背景图片文件名
    public static let BUTTON_RESUME_IMAGE_FILE_NAME =
        "button_resume.png"                                     // "继续"按钮的背景图片文件名
    public static let BUTTON_MUSIC_PLAY_IMAGE_FILE_NAME =
        "button_music_play.png"                                 // "播放音乐"按钮的背景图片文件名
    public static let BUTTON_MUSIC_STOP_IMAGE_FILE_NAME =
        "button_music_stop.png"                                 // "停止音乐"按钮的背景图片文件名

    // 其它
    public static let WHITE = 255.0                             // 白色的 RGB 值
}
